// 基于template/src/widgets/\{{appEntities}}/\{{ctrls@WIZARDPANEL}}-wizard-panel/\{{spinalCase ctrl.codeName}}-wizard-panel-model.ts.hbs生成
import { IWizardPanelModel } from '@/core';
function getModel(): IWizardPanelModel {
    return {
        name: "{{ctrl.name}}",
        caption: "{{ctrl.caption}}",
        codeName: "{{ctrl.codeName}}",
        entityCodeName: "{{ctrl.psAppDataEntity.codeName}}",
        keyPSAppDEField: "{{ctrl.psAppDataEntity.keyPSAppDEField.codeName}}",
        majorPSAppDEField: "{{ctrl.psAppDataEntity.majorPSAppDEField.codeName}}",
        cssName: "{{#if ctrl.psSysCss}}{{ctrl.psSysCss.cssName}}{{/if}}",
        controlType: "{{ctrl.controlType}}",
        showStepBar: {{ctrl.showStepBar}},
        initAction: "{{#if ctrl.initPSControlAction.psAppDEMethod.codeName}}{{ctrl.initPSControlAction.psAppDEMethod.codeName}}{{/if}}",
        finishAction: "{{#if ctrl.finishPSControlAction.psAppDEMethod.codeName}}{{ctrl.finishPSControlAction.psAppDEMethod.codeName}}{{/if}}",
        stateField: "{{#if ctrl.statePSAppDEField.codeName}}{{ctrl.statePSAppDEField.codeName}}{{/if}}",
        {{#if ctrl.psDEWizard}}
        isStateWizard: {{ctrl.psDEWizard.stateWizard}},
        buttonCaption: {
            finishCaption: "{{ctrl.psDEWizard.finishCaption}}",
            nextCaption: "{{ctrl.psDEWizard.nextCaption}}",
            prevCaption: "{{ctrl.psDEWizard.prevCaption}}",
            {{#if ctrl.psDEWizard.prevCapPSLanguageRes}}
            prevLanResTag: "{{ctrl.psDEWizard.prevCapPSLanguageRes.lanResTag}}",
            {{/if}}
            {{#if ctrl.psDEWizard.nextCapPSLanguageRes}}
            nextLanResTag: "{{ctrl.psDEWizard.nextCapPSLanguageRes.lanResTag}}",
            {{/if}}
            {{#if ctrl.psDEWizard.finishCapPSLanguageRes}}
            finishLanResTag: "{{ctrl.psDEWizard.finishCapPSLanguageRes.lanResTag}}",
            {{/if}}
        },
        wizardSteps: [
        {{#if ctrl.psDEWizard.psDEWizardSteps}}
        {{#each ctrl.psDEWizard.psDEWizardSteps as | step |}}
            {
                lanResTag: "{{#if step.titlePSLanguageRes}}{{step.titlePSLanguageRes.lanResTag}}{{/if}}",
                title: "{{step.title}}",
                stepTag: "{{step.stepTag}}",
                {{#if step.titlePSSysCss}}
                cssName: "{{step.titlePSSysCss.cssName}}",
                {{/if}}
                {{#if step.psSysImage}}
                icon: {
                    {{#if step.psSysImage.cssClass}}
                    iconClass: "{{step.psSysImage.cssClass}}",
                    {{/if}}
                    {{#if step.psSysImage.imagePath}}
                    imgPath: "{{step.psSysImage.imagePath}}",
                    {{/if}}
                }
                {{/if}}
            },
        {{/each}}
        {{/if}}
        ],
        wizardForms: [
            {{#if ctrl.psDEWizard.psDEWizardForms}}
            {{#each ctrl.psDEWizard.psDEWizardForms as | stepForm |}}
            {
                stepActions: [
                {{#if stepForm.stepActions}}
                {{#each stepForm.stepActions as | action |}}
                    "{{action}}",
                {{/each}}
                {{/if}}
                ],
                formTag: "{{stepForm.formTag}}",
                firstForm: {{stepForm.firstForm}},
                stepTag: "{{stepForm.psDEWizardStep.stepTag}}",
                editFormName: "{{ctrl.name}}_form_{{lowerCase stepForm.formTag}}",
            },
            {{/each}}
            {{/if}}
        ],
        {{/if}}
        editForms: [
            {{#if ctrl.psDEEditForms}}
            {{#each ctrl.psDEEditForms as | editForm |}}
            {
                codeName: "{{editForm.codeName}}",
                name: "{{editForm.name}}",
                actions: {
                    preAction: "{{#and editForm.goBackPSControlAction editForm.goBackPSControlAction.psAppDEMethod}}{{editForm.goBackPSControlAction.psAppDEMethod.codeName}}{{/and}}",
                    loadAction: '{{#and editForm.getPSControlAction editForm.getPSControlAction.psAppDEMethod}}{{editForm.getPSControlAction.psAppDEMethod.codeName}}{{else}}Get{{/and}}',
                    loadDraftAction: '{{#and editForm.getDraftPSControlAction editForm.getDraftPSControlAction.psAppDEMethod}}{{editForm.getDraftPSControlAction.psAppDEMethod.codeName}}{{else}}GetDraft{{/and}}',
                    updateAction: '{{#and editForm.updatePSControlAction editForm.updatePSControlAction.psAppDEMethod}}{{editForm.updatePSControlAction.psAppDEMethod.codeName}}{{else}}Update{{/and}}',
                    createAction: '{{#and editForm.createPSControlAction editForm.createPSControlAction.psAppDEMethod}}{{editForm.createPSControlAction.psAppDEMethod.codeName}}{{else}}Create{{/and}}',
                    removeAction: '{{#and editForm.removePSControlAction editForm.removePSControlAction.psAppDEMethod}}{{editForm.removePSControlAction.psAppDEMethod.codeName}}{{else}}Remove{{/and}}',                
                }
            },
            {{/each}}
            {{/if}}
        ]
    }
}
export const model = getModel();
